package com.zz.nondatain.utils;

import android.content.Context;
import android.util.Log;
import android.widget.Toast;

/**
 * 百度人脸识别Token使用示例类
 * 演示如何获取和使用百度人脸识别Token
 */
public class FaceTokenExample {
    private static final String TAG = "FaceTokenExample";
    
    /**
     * 获取百度人脸识别Token并执行操作
     * @param context 上下文
     */
    public static void getBaiduFaceToken(Context context) {
        // 获取FaceTokenManager实例
        FaceTokenManager tokenManager = FaceTokenManager.getInstance(context);
        
        // 使用回调的方式获取Token
        tokenManager.getValidToken(new FaceTokenManager.TokenCallback() {
            @Override
            public void onSuccess(String token) {
                // Token获取成功，可以进行人脸识别API调用
                Log.d(TAG, "Token获取成功: " + token);
                Toast.makeText(context, "Token获取成功", Toast.LENGTH_SHORT).show();
                //24.166c40a7f140c731f8a4e64cac0f6f7f.2592000.1748065604.282335-118623059
                // 这里可以继续调用人脸识别API
                // 例如：调用人脸检测、人脸比对等功能
                // faceDetect(token, faceImageBase64);
            }
            
            @Override
            public void onFailure(String error) {
                // Token获取失败
                Log.e(TAG, "Token获取失败: " + error);
                Toast.makeText(context, "Token获取失败: " + error, Toast.LENGTH_SHORT).show();
            }
        });
    }
    
    /**
     * 主动刷新Token的示例
     * @param context 上下文
     */
    public static void refreshBaiduFaceToken(Context context) {
        FaceTokenManager tokenManager = FaceTokenManager.getInstance(context);
        
        // 强制刷新Token
        tokenManager.refreshToken(new FaceTokenManager.TokenCallback() {
            @Override
            public void onSuccess(String token) {
                Log.d(TAG, "Token刷新成功: " + token);
                Toast.makeText(context, "Token刷新成功", Toast.LENGTH_SHORT).show();
            }
            
            @Override
            public void onFailure(String error) {
                Log.e(TAG, "Token刷新失败: " + error);
                Toast.makeText(context, "Token刷新失败: " + error, Toast.LENGTH_SHORT).show();
            }
        });
    }
    
    /**
     * 演示如何在Activity或Fragment的onDestroy中释放资源
     * @param context 上下文
     */
    public static void disposeTokenManager(Context context) {
        FaceTokenManager tokenManager = FaceTokenManager.getInstance(context);
        tokenManager.dispose();
    }
} 